package com.binance.assetservice.data.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.binance.assetservice.data.models.ProductItem;
import com.binance.master.old.config.OldDB;


@OldDB
public interface ProductItemMapper {

    ProductItem getProductBySymbol(@Param("symbol") String symbol);
    
    List<ProductItem> getProductBySymbols(@Param("symbols") List<String> symbols);

    List<ProductItem> getProductByRuleId(@Param("ruleId") Long ruleId);

    List<ProductItem> fetchAllProducts();

    List<String> getAllSymbols();

    List<String> getVisibleSymbols();

    void addProduct(ProductItem item);

    public int updateProduct(ProductItem item);

    public Double getFirstPrevClose(@Param("symbol") String symbol);

    public Map<String, Object> getUserTradeFee(@Param("symbol") String symbol, @Param("userId") String userId);

    public List<Map<String, Object>> getByBaseAsset(String baseAsset);
}
